<?php

namespace App\Http\Controllers;


class TestController extends Controller
{


    public function image()
    {


        $base64Arr = [];
//        $im = imagecreatefromjpeg('D:\phpstudy_pro\20240613111914.jpg');
//        foreach ($data['result']['face_list'] as $key => $value) {
//            $x = round($value['location']['left']);
//            $y = round($value['location']['top']);
//            $width = round($value['location']['width']);
//            $height = round($value['location']['height']);
//            $xy = ['x' => $x, 'y' => $y, 'width' => $width, 'height' => $height];
//
//            $imcrop = imagecrop($im, $xy);
//
//            // 创建一个输出流
//            ob_start();
//            // 将裁剪后的图像输出到输出流
//            imagejpeg($imcrop);
//            // 获取输出流的内容（即图像的二进制数据）
//            $imageData = ob_get_clean();
//
//            // 对图像数据进行 Base64 编码
//            $base64 = 'data:image/jpeg;base64,' . base64_encode($imageData);
//            $base64Arr[] = $base64;
//
//        }
//        // 释放资源
//        imagedestroy($im);
//        imagedestroy($imcrop);
//        echo json_encode($base64Arr);
    }

    public function csv()
    {

        //让程序一直运行
        set_time_limit(0);
        //设置程序运行内存
        ini_set('memory_limit', '128M');
        $fileName = '测试导出数据';
        header('Content-Encoding: UTF-8');
        header("Content-type:application/vnd.ms-excel;charset=UTF-8");
        header('Content-Disposition: attachment;filename="' . $fileName . '.csv"');
        //打开php标准输出流
        $fp = fopen('php://output', 'a');
        //添加BOM头，以UTF8编码导出CSV文件，如果文件头未添加BOM头，打开会出现乱码。
        fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
        //添加导出标题
        fputcsv($fp, ['姓名', '年龄', '地区']);


        $step = 100; //循环次数
        $nums = 10000; //每次导出数量

        for ($i = 0; $i < $step; $i++) {
            for ($j = 0; $j < $nums; $j++) {
                fputcsv($fp, ['姓名', '年龄', '地区']);
                //每1万条数据就刷新缓冲区
                ob_flush();
                flush();
            }
        }

    }
}
